Como parte de nuestro curso de C# te ampliamos los adelantos que contiene C# 8. Ya esta empezando a tomar forma la hoja de ruta para C# 8.xy 9. Mientras tanto, Microsoft continúa aprobando las características para la próxima versión. Están son algunas de ellas.
Expresiones mecanografiadas de destino
Digamos que tienes los tipos A, B y C, donde B y C son subtipos de A. Si utilizas las siguientes declaraciones, el compilador no puede determinar qué tipo devolver desde el lado derecho.
A a1 = b ?? c;
A a2 = x>0 ? b : c;
A a3 = a switch {
B b => b,
C c => c,
_ => throw new System.Exception()
};
Normalmente, para poder arreglar esto se requiere agregar conversiones como:
A a1 = (A)b ?? (A)c;
A a2 = x>0 ? (A)b : (A)c;
Con la propuesta de expresión de cambio de Tipo de destino, en cada caso, el compilador puede usar el lado izquierdo de la declaración (A a1) para determinar qué tipo debe devolver el lado derecho (b ?? c). Esta característica también funcionaría con declaraciones de devolución (return b ?? c) pero no con var (var a1 = b ?? c).
Actualmente, la versión de este patrón está planificada para C# 8.0, con las otras dos programadas para 8.x. Esto es en sí un adelanto significativo.
Permitir 'default' en Deconstruction
Esta pequeña característica permitirá que se utilice la palabra clave predeterminada al inicializar tuplas. Esta es la propuesta,
(int i, string s) = default;
(i, s) = default;
Como puedes ver, hay muchos pequeños cambios positivos en la librería de C# 8. Para poder aumentar tu comprensión de los lenguajes de programación, te sugerimos que tomes un curso de Visual Basic y otro curso de MySQL. Esto ampliará tus horizontes de programación de aplicaciones.
|